<!DOCTYPE HTML>
<html>
<head><meta name="generator" content="Hexo 3.9.0">
  <meta charset="utf-8">
  
  <title>Page 4 › 但行好事，莫问前程</title>
  <meta name="author" content="fengbo">
  
  <meta name="description" content="不想当架构师的程序员不是好厨师 ，不认为PHP是世界上最好的编程语言的Python开发者不是一个好的Javaer。">
  
  
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">

  
  <meta property="og:site_name" content="但行好事，莫问前程">

  
    <meta property="og:image" content="undefined">
  

  <link href="/favicon.png" rel="icon">
  <link rel="alternate" href="/atom.xml" title="但行好事，莫问前程" type="application/atom+xml">
  <link rel="stylesheet" href="/css/style.css" media="screen" type="text/css">
  <!--[if lt IE 9]><script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
  

</head>
</html>

<body>
  <header id="header"><div class="meta inner">
  <h1><a href="/">但行好事，莫问前程</a></h1>
  <h2><a href="/">CV工程师，了解面向Google编程的基本原理，有三年使用Google经验，在通往程序员的道路上艰难的爬行着。</a></h2>
  <nav id="main-nav">
    <ul>
      
      <li><a href="/">Home</a></li>
      
      <li><a href="/archives">Archives</a></li>
      
      <li><a href="/atom.xml">RSS</a></li>
      
    </ul>
    <div class="clearfix"></div>
  </nav>
</div>
<div class="clearfix"></div>
</header>
  <div id="content" class="inner">
    <div id="main-col" class="alignleft"><div id="wrapper">
  <article class="post">
  <div class="post-content">
    <header>
      
  
    <h1 class="title"><a href="/2019/09/23/Java基础之一些工具类/">一些工具类</a></h1>
  

      
        <time datetime="2019-09-23T12:56:21.000Z">2019-09-23</time>
      
    </header>
    <div class="entry">
      
        <h3 id="BigDecimal"><a href="#BigDecimal" class="headerlink" title="BigDecimal"></a>BigDecimal</h3><ul>
<li>基本方法：加（add(BigDecimal)）、减（subtract(BigDecimal)）、乘（multiply(BigDecimal)）、除（divide(BigDecimal)）。</li>
<li>除法时需要传入小数点后的位数和取值方式。<ul>
<li>RoundingMode.CEILING：向正无限大方向舍入的舍入模式。</li>
<li>RoundingMode.FLOOR：向负无限大方向舍入的舍入模式。</li>
<li>RoundingMode.DOWN：向零方向舍入的舍入模式。</li>
<li>RoundingMode.UP：远离零方向舍入的舍入模式。</li>
<li>RoundingMode.HALF_DOWN：向最接近数字方向舍入的舍入模式，如果与两个相邻数字的距离相等，则向下舍入。</li>
<li>RoundingMode.HALF_UP：向最接近数字方向舍入的舍入模式，如果与两个相邻数字的距离相等，则向上舍入。</li>
<li>RoundingMode.HALF_EVEN：向最接近数字方向舍入的舍入模式，如果与两个相邻数字的距离相等，则向相邻的偶数舍入。</li>
<li>RoundingMode.UNNECESSARY用于断言请求的操作具有精确结果的舍入模式，因此不需要舍入。</li>
</ul>
</li>
<li>stripTrailingZeros()方法可以去除尾部的0，然后可以用scale()获取小数点的位数。</li>
<li>toString()方法可能是科学计数法所以可以使用toPlainString()方法转换为字符串。</li>
<li>Double转BigDecimal使用BigDecimal.valueOf(Double)而不是new BigDecimal(Double)否则可能会丢失精度。
      
    </div>
      
        
        <footer>
          <div class="alignleft">
            <a href="/2019/09/23/Java基础之一些工具类/#more" class="more-link">Read More ›</a>
          </div>
        
        
      
      <div class="clearfix"></div>
      </footer>
  </div>
</article>



  <article class="post">
  <div class="post-content">
    <header>
      
  
    <h1 class="title"><a href="/2019/07/15/Java设计模式之适配器模式/">Java设计模式之适配器模式</a></h1>
  

      
        <time datetime="2019-07-15T11:19:54.000Z">2019-07-15</time>
      
    </header>
    <div class="entry">
      
        <p>统中有一套完整的类结构，而我们需要利用其中摸某一个类的功能（即方法），但是我们的客户端只认识另一个和这个类结构不相关的接口，这时候就可以使用适配器模式将这个现有的类与我们的目标接口进行适配，最终获得一个符合需要的接口并包含复用的类的功能的类。本来是火鸡却实现鸭子接口，当你客户需要一个鸭子的时候，就可以假装成鸭子。<br>
      
    </div>
      
        
        <footer>
          <div class="alignleft">
            <a href="/2019/07/15/Java设计模式之适配器模式/#more" class="more-link">Read More ›</a>
          </div>
        
        
      
      <div class="clearfix"></div>
      </footer>
  </div>
</article>



  <article class="post">
  <div class="post-content">
    <header>
      
  
    <h1 class="title"><a href="/2019/07/15/Java设计模式之观察者模式/">Java设计模式之观察者模式</a></h1>
  

      
        <time datetime="2019-07-15T11:16:15.000Z">2019-07-15</time>
      
    </header>
    <div class="entry">
      
        <p>观察者模式（又称发布-订阅模式），即一个目标物体管理所有依赖于他的观察者物体，并且在它本身状态改变时，它的所有依赖者都会收到通知并自动更新。<br>
      
    </div>
      
        
        <footer>
          <div class="alignleft">
            <a href="/2019/07/15/Java设计模式之观察者模式/#more" class="more-link">Read More ›</a>
          </div>
        
        
      
      <div class="clearfix"></div>
      </footer>
  </div>
</article>



  <article class="post">
  <div class="post-content">
    <header>
      
  
    <h1 class="title"><a href="/2019/07/15/Java设计模式之代理模式/">Java设计模式之代理模式</a></h1>
  

      
        <time datetime="2019-07-15T11:09:38.000Z">2019-07-15</time>
      
    </header>
    <div class="entry">
      
        <p>代理模式一般分为静态代理和动态代理。两种代理从虚拟机加载类的角度来讲，本质上都是一样的，都是在原有类的基础上加入一些其他的逻辑，产生一个新的与原有类接口相同确行为不同的类型。<br>
      
    </div>
      
        
        <footer>
          <div class="alignleft">
            <a href="/2019/07/15/Java设计模式之代理模式/#more" class="more-link">Read More ›</a>
          </div>
        
        
      
      <div class="clearfix"></div>
      </footer>
  </div>
</article>



  <article class="post">
  <div class="post-content">
    <header>
      
  
    <h1 class="title"><a href="/2019/07/15/Java设计模式之策略模式/">Java设计模式之策略模式</a></h1>
  

      
        <time datetime="2019-07-15T11:04:33.000Z">2019-07-15</time>
      
    </header>
    <div class="entry">
      
        <p>策略模式定义和封装了一系列的算法，并将每一个算法封装起来，使他们可以相互替换。策略模式让算法独立于使用它的用户而存在。Java8对策略模式进行了很好的封装。<br>
      
    </div>
      
        
        <footer>
          <div class="alignleft">
            <a href="/2019/07/15/Java设计模式之策略模式/#more" class="more-link">Read More ›</a>
          </div>
        
        
      
      <div class="clearfix"></div>
      </footer>
  </div>
</article>



  <article class="post">
  <div class="post-content">
    <header>
      
  
    <h1 class="title"><a href="/2019/07/15/Java设计模式之模板方法模式/">Java设计模式之模板方法模式</a></h1>
  

      
        <time datetime="2019-07-15T10:59:42.000Z">2019-07-15</time>
      
    </header>
    <div class="entry">
      
        <p>模板方法模式会在父类的一个方法中定义一个算法骨架，而将一些步骤延迟到子类中，模板方法使得子类可以在不改变算法结果的情况下，重新定义算法中的某些步骤。<br>
      
    </div>
      
        
        <footer>
          <div class="alignleft">
            <a href="/2019/07/15/Java设计模式之模板方法模式/#more" class="more-link">Read More ›</a>
          </div>
        
        
      
      <div class="clearfix"></div>
      </footer>
  </div>
</article>



  <article class="post">
  <div class="post-content">
    <header>
      
  
    <h1 class="title"><a href="/2019/07/15/Java设计模式之构建器模式/">Java设计模式之构建器模式</a></h1>
  

      
        <time datetime="2019-07-15T10:56:53.000Z">2019-07-15</time>
      
    </header>
    <div class="entry">
      
        <p>构建器模式，当某个类有很多参数（4个或更多） 特别是其中部分参数是可选的时应该使用的一种设计模式。<br>
      
    </div>
      
        
        <footer>
          <div class="alignleft">
            <a href="/2019/07/15/Java设计模式之构建器模式/#more" class="more-link">Read More ›</a>
          </div>
        
        
      
      <div class="clearfix"></div>
      </footer>
  </div>
</article>



  <article class="post">
  <div class="post-content">
    <header>
      
  
    <h1 class="title"><a href="/2019/07/15/Java设计模式之装饰者模式/">Java设计模式之装饰者模式</a></h1>
  

      
        <time datetime="2019-07-15T10:52:03.000Z">2019-07-15</time>
      
    </header>
    <div class="entry">
      
        <p>装饰者模式在不改变原类文件和使用继承的情况下，动态的扩展一个对象的功能。经典案例：Java I/O包里的类。<br>
      
    </div>
      
        
        <footer>
          <div class="alignleft">
            <a href="/2019/07/15/Java设计模式之装饰者模式/#more" class="more-link">Read More ›</a>
          </div>
        
        
      
      <div class="clearfix"></div>
      </footer>
  </div>
</article>




<nav id="pagination">
  
    <a href="/page/3/" class="alignleft prev">上一页</a>
  
  
    <a href="/page/5/" class="alignright next">下一页</a>
  
  <div class="clearfix"></div>
</nav></div></div>
    <aside id="sidebar" class="alignright">
  
<div class="widget tagcloud">
  <h3 class="title">文章分类</h3>
  <div class="entry">
    <a href="/tags/JavaWeb/" style="font-size: 17.14px;">JavaWeb</a> <a href="/tags/Java基础/" style="font-size: 15.71px;">Java基础</a> <a href="/tags/Java高级特性/" style="font-size: 15.71px;">Java高级特性</a> <a href="/tags/Python/" style="font-size: 10px;">Python</a> <a href="/tags/Spring基础/" style="font-size: 14.29px;">Spring基础</a> <a href="/tags/WebRTC/" style="font-size: 10px;">WebRTC</a> <a href="/tags/其它/" style="font-size: 20px;">其它</a> <a href="/tags/分布式/" style="font-size: 11.43px;">分布式</a> <a href="/tags/硬件/" style="font-size: 12.86px;">硬件</a> <a href="/tags/计算机基础/" style="font-size: 18.57px;">计算机基础</a> <a href="/tags/设计模式/" style="font-size: 17.14px;">设计模式</a>
  </div>
</div>



    <div class="widget tagcloud">
    <h3 class="title">电子书</h3>
    <ul class="entry">
      <li class='link'><a href='http://www.duokan.com/' target="_blank">多看阅读</a>&nbsp;&nbsp;<a href='https://read.douban.com/' target="_blank">豆瓣阅读</a>&nbsp;&nbsp;<a href='http://e.dangdang.com/' target="_blank">当当阅读</a></li>
      <li class='link'><a href='http://www.ituring.com.cn/' target="_blank">图灵社区</a>&nbsp;&nbsp;<a href='https://www.epubit.com/' target="_blank">异步社区</a>&nbsp;&nbsp;<a href='https://www.geekbang.org/' target="_blank">极客空间</a></li>
    </ul>
  </div>


  
  <div class="widget tag">
    <h3 class="title">友情链接</h3>
      <ul class="entry">
        
          <li class='link'><a href='http://www.cnblogs.com/jietang/' target="_blank">唐洁的博客</a></li>
        
          <li class='link'><a href='http://rednaxelafx.iteye.com/' target="_blank">R大的博客</a></li>
        
          <li class='link'><a href='http://www.hollischuang.com/' target="_blank">阿里大神的博客</a></li>
        
          <li class='link'><a href='http://blog.csdn.net/IT_faquir/' target="_blank">IT_faquir的专栏</a></li>
        
      </ul>
  </div>


  
  <div class="widget tag">
    <h3 class="title">思维导图</h3>
      <ul class="entry">
        
          <li class='link'><a href='https://fengbo4213.github.io/img/开源协议.png' target="_blank">开源协议简介</a></li>
        
          <li class='link'><a href='https://www.processon.com/diagraming/5b0cf757e4b009aef58d4b9d' target="_blank">我的知识体系</a></li>
        
          <li class='link'><a href='https://www.processon.com/view/link/5a2a00e5e4b015e677290b4f' target="_blank">简单的网站架构</a></li>
        
      </ul>
  </div>


  
  <div class="widget tag">
    <h3 class="title">在线手册</h3>
      <ul class="entry">
        
          <li class='link'><a href='http://v3.bootcss.com/' target="_blank">BootStrap官方手册</a></li>
        
          <li class='link'><a href='http://www.iconfont.cn/http://element.eleme.io/#/zh-CN/' target="_blank">阿里巴巴矢量图标库</a></li>
        
      </ul>
  </div>


  
<div class="widget tag">
  <h3 class="title">最新文章</h3>
  <ul class="entry">
    
      <li>
        <a href="/2123/08/30/基础之MySQL原理/">MySQL原理</a>
      </li>
    
      <li>
        <a href="/2024/01/01/其它之ClickHouse索引/">ClickHouse索引</a>
      </li>
    
      <li>
        <a href="/2023/12/17/其它之MySQL线程池/">MySQL线程池</a>
      </li>
    
      <li>
        <a href="/2023/12/16/其它之InnoDB性能优化基础/">InnoDB性能优化基础</a>
      </li>
    
      <li>
        <a href="/2023/12/03/其它之Java8之后的版本新特性/">Java8之后的版本新特性</a>
      </li>
    
  </ul>
</div>

</aside>
    <div class="clearfix"></div>
  </div>
  <footer id="footer" class="inner"><div class="alignleft">
  
  &copy; 2024 fengbo
  
</div>
<div class="clearfix"></div></footer>
  <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script>



</body>
</html>

